package com.mall.b2c.hessian;

import java.util.Date;

import com.mall.common.hessian.BaseHessian;

/**
 * 交易扩展类API
 * @author lzx
 *
 */
public interface TradeExtendHessian extends BaseHessian{
	
	/**
	 * 获取退款项
	 * @param orderNo 订单编号
	 * @param memberId 会员id
	 * @return
	 */
	public String getRefundItems(String orderNo, Long memberId);
	
	/**
	 * 查询退款记录
	 * @param memberId 会员id
	 * @param orderNo 订单编号
	 * @param startDate 起始时间
	 * @param endDate 结束时间
	 * @param refundStatus 退款状态
	 * @param pagerNumber 页码
	 * @return
	 */
	public String getRefundPager(Long memberId, String orderNo, Date startDate, Date endDate, Integer refundStatus, Integer pagerNumber);

	/**
	 * 获取订单项信息
	 * @param itemId 订单项id
	 * @param memberId 会员id
	 * @return
	 */
	public String getOrderItemInfo(Long itemId, Long memberId);
	
	/**
	 * 申请退款
	 * @param itemId 订单项id
	 * @param quantity 退款数量
	 * @param isChange 是否换货
	 * @param consignee 收款人
	 * @param areaName 地区
	 * @param address 地址
	 * @param contact 联系方式
	 * @param remark 备注
	 * @param memberId 会员id
	 * @return
	 */
	public String applyRefund(Long itemId, Integer quantity, Boolean isChange, String consignee, 
			Long areaId, String address, String contact, String remark, Long memberId);
	
	/**
	 * 获取退款单信息
	 * @param refundNo 退款单号
	 * @param memberId 会员id
	 * @return
	 */
	public String getRefundInfo(String refundNo, Long memberId);
	
	/**
	 * 取消退款
	 * @param refundNo 退款编号
	 * @param memberId 会员id
	 */
	public void cancelRefund(String refundNo, Long memberId);

	/**
	 * 换货确认收货
	 * @param refundNo 退款编号
	 * @param memberId 会员id
	 */
	public void refundReceive(String refundNo, Long memberId);
	
	/**
	 * 获取快递信息
	 * @param orderNo
	 * @param memberId
	 * @return
	 */
	public String getShipInfo(String orderNo, Long memberId);
}
